package com.clothing.customization.service;

import com.clothing.customization.dto.UserDTO;
import com.clothing.customization.dto.UserQueryDTO;
import org.springframework.data.domain.Page;

/**
 * 用户管理服务接口
 */
public interface UserManagementService {
    
    /**
     * 分页查询用户列表
     * @param queryDTO 查询条件
     * @return 分页用户列表
     */
    Page<UserDTO> getUserList(UserQueryDTO queryDTO);
    
    /**
     * 获取用户详情
     * @param id 用户ID
     * @return 用户详情
     */
    UserDTO getUserDetail(Long id);
    
    /**
     * 创建用户
     * @param userDTO 用户信息
     * @return 创建的用户
     */
    UserDTO createUser(UserDTO userDTO);
    
    /**
     * 更新用户信息
     * @param id 用户ID
     * @param userDTO 用户信息
     * @return 更新后的用户
     */
    UserDTO updateUser(Long id, UserDTO userDTO);
    
    /**
     * 删除用户
     * @param id 用户ID
     */
    void deleteUser(Long id);
    
    /**
     * 修改用户状态
     * @param id 用户ID
     * @param status 状态
     * @return 更新后的用户
     */
    UserDTO updateUserStatus(Long id, Integer status);
    
    /**
     * 重置用户密码
     * @param id 用户ID
     * @param newPassword 新密码
     */
    void resetPassword(Long id, String newPassword);
} 